<?php
namespace Home\Model;
use Think\Model;
class ClientModel extends Model {

    protected $_validate = array(
        array('name', 'require', '客户名称不能为空！', 1, 'regex', 3),
        array('mname', 'require', '客户经理不能为空！', 1, 'regex', 3),
        array('area', 'require', '地区不能为空！', 1, 'regex', 3),
        array('level', 'require', '等级不能为空！', 1, 'regex', 3),
        array('satisfied', 'require', '满意度不能为空！', 1, 'regex', 3),
        array('honor', 'require', '信用不能为空！', 1, 'regex', 3),
        array('address', 'require', '地址不能为空！', 1, 'regex', 3),
        array('post', 'require', '邮编不能为空！', 1, 'regex', 3),
        array('phone', 'require', '电话不能为空！', 1, 'regex', 3),
        array('to_phone', 'require', '传真不能为空！', 1, 'regex', 3),
        array('www', 'require', '网址不能为空！', 1, 'regex', 3),
        array('person', 'require', '法人不能为空！', 1, 'regex', 3),
        array('bank', 'require', '开户银行不能为空！', 1, 'regex', 3),
        array('bank_id', 'require', '银行账号不能为空！', 1, 'regex', 3),
        array('name', '0,30', '客户名称不能超过 30 个字符！', 1, 'length', 3),
        array('mname', '0,30', '客户经理不能超过 30 个字符！', 1, 'length', 3),
        array('area', '0,30', '地区不能超过 30 个字符！', 1, 'length', 3),
        array('level', '0,30', '等级不能超过 30 个字符！', 1, 'length', 3),
        array('satisfied', '0,30', '满意度不能超过 30 个字符！', 1, 'length', 3),
        array('honor', '0,30', '信用度不能超过 30 个字符！', 1, 'length', 3),
        array('address', '0,30', '地址不能超过 30 个字符！', 1, 'length', 3),
        array('post', '0,30', '邮编不能超过 30 个字符！', 1, 'length', 3),
        array('phone', '0,30', '电话不能超过 30 个字符！', 1, 'length', 3),
        array('to_phone', '0,30', '传真不能超过 30 个字符！', 1, 'length', 3),
        array('www', '0,30', '网址不能超过 30 个字符！', 1, 'length', 3),
        array('charter_id', '0,30', '营业执照注册号不能超过 30 个字符！', 1, 'length', 3),
        array('person', '0,30', '法人不能超过 30 个字符！', 1, 'length', 3),
        array('have_money', '0,30', '注册资金不能超过 30 个字符！', 1, 'length', 3),
        array('year_money', '0,30', '年营业额不能超过 30 个字符！', 1, 'length', 3),
        array('bank', '0,30', '开户银行不能超过 30 个字符！', 1, 'length', 3),
        array('bank_id', '0,30', '银行账号不能超过 30 个字符！', 1, 'length', 3),
        array('land_id', '0,30', '地税登记号不能超过 30 个字符！', 1, 'length', 3),
        array('county_id', '0,30', '国税登记号不能超过 30 个字符！', 1, 'length', 3),
    );

    public function search($pageSize = 20) {
        /*************************************** 搜索 *************************************** */
         /***********************客户经理限制权限 ************************* */
        $where = array();
        $sid = session('id');
        $sname = session('username');
        $adModel = M('Admin_role');
        $rid = $adModel->field('role_id')->where(array('admin_id' => array('eq', $sid)))->find();
        if ($rid['role_id'] == '4') {
            $where['mname'] = array('eq', "$sname");
        }
        
        if ($client_name = I('get.name'))
            $where['name'] = array('like', "%$client_name%");
        if ($outline = I('get.outline'))
            $where['outline'] = array('like', "%$outline%");
        if ($contact_name = I('get.contact_name'))
            $where['contact_name'] = array('like', "%$contact_name%");
        /************************************ 翻页 ********************************************************/
        $count = $this->alias('a')->where($where)->count();
        $page = new \Think\Page($count, $pageSize);
        // 配置翻页的样式
        $page->setConfig('prev', '上一页');
        $page->setConfig('next', '下一页');
        $data['page'] = $page->show();
        /*  ************************************ 取数据 *****************************************************/
        $data['data'] = $this->where($where)->limit($page->firstRow . ',' . $page->listRows)->select();
        return $data;
    }

    protected function _before_insert(&$data, $options) {
        $time = I('post.time');
        //var_dump($time);
        $da11 = $data['time'] = strtotime($time);
        // var_dump($da11);
    }

    protected function _before_update(&$data, $options) {
        
    }

    /************************************************ 其他方法 ************************************************************/

    public function analysisCompose($pageSize = 20) {
        /* * ************************************** 搜索 *************************************** */
        $where = 'level';
        if ($ae = I('get.'))
            $category = $ae['category'];
        else
            $category = '企业客户等级';
        if ($category == '企业客户等级') {
            $key = 'level';
            $where = 'level';
        } elseif ($category == '客户满意度') {
            $key = 'satisfied';
            $where = 'satisfied';
        } elseif ($category == '客户信用度') {
            $key = 'honor';
            $where = 'honor';
        }
        /********************************* 翻页 *************************************************/

        /*********************************** 取数据 *********************************************/
        $sql = 'select ' . $where . ' as this,count(' . $where . ') as category from crm_client group by ' . $where;
        $data['data'] = $this->query($sql);
        $data['name'] = $category;
        return $data;
    }

}
